package com.yugao.fintech.antelope.auth.model.rqrs.third;

import lombok.*;

import java.util.Map;

/**
 * 获取微信openId请求
 */
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class WxMaLoginReq extends ThirdLoginReq {
    private static final String CODE = "code";
    private static final String ENCRYPTED_DATA = "encryptedData";
    private static final String IV = "iv";

    /**
     * 登录凭证, 换取 用户唯一标识 OpenID 、 用户在微信开放平台帐号下的唯一标识UnionID（若当前小程序已绑定到微信开放平台帐号）
     * 和 会话密钥 session_key。
     */
    private String code;

    private String encryptedData;

    private String iv;


    public WxMaLoginReq checkParams(Map<String, Object> parameters) {
//        this.code = Optional.ofNullable(parameters.get(CODE)).map(String::valueOf).orElse(null);
//        if (StringUtils.isEmpty(this.code)) {
//            OAuth2EndpointUtils.throwError(OAuth2ErrorCodes.INVALID_REQUEST, CODE,
//                    OAuth2EndpointUtils.ACCESS_TOKEN_REQUEST_ERROR_URI);
//        }
//
//        encryptedData = parameters.getFirst(SecurityCons.WxParam.ENCRYPTED_DATA);
//        if (StringUtils.isEmpty(encryptedData)) {
//            OAuth2EndpointUtils.throwError(OAuth2ErrorCodes.INVALID_REQUEST, ENCRYPTED_DATA,
//                    OAuth2EndpointUtils.ACCESS_TOKEN_REQUEST_ERROR_URI);
//        }
//
//        iv = parameters.getFirst(IV);
//        if (StringUtils.isEmpty(iv)) {
//            OAuth2EndpointUtils.throwError(OAuth2ErrorCodes.INVALID_REQUEST, IV,
//                    OAuth2EndpointUtils.ACCESS_TOKEN_REQUEST_ERROR_URI);
//        }
        return this;
    }
}
